﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Orange
{
    class Program
    {
        static void Main(string[] args)
        {
            //模拟排队购电影票的操作
            Console.WriteLine("模拟排队购电影票的操作");
            Queue ts1 = new Queue();
            ts1.Enqueue("小胖");
            ts1.Enqueue("小小胖");
            ts1.Enqueue("爱吃");
            ts1.Enqueue("橙子");
            ts1.Enqueue("大橙子");

            while (ts1.Count != 0)
            {
                Console.WriteLine(ts1.Dequeue()+"已购票");

            }


            Console.WriteLine("使用 ToArray() 方法将 Queue 类的实例中存放的值复制到数组后再遍历数组");
            Console.WriteLine();


            Queue ts2 = new Queue();
            ts2.Enqueue("小胖");
            ts2.Enqueue("爱吃");
            ts2.Enqueue("橙子");
            var arr = ts2.ToArray();
            foreach(var q in ts2)
            {
                Console.WriteLine(q);
            }


            //使用 GetEnumerator() 方法来遍历
            Console.WriteLine("使用 GetEnumerator() 方法来遍历");
            Console.WriteLine();
            Queue ts3 = new Queue();
            ts3.Enqueue("小胖");
            ts3.Enqueue("超爱吃");
            ts3.Enqueue("橙子");
            IEnumerator enumerator = ts3.GetEnumerator();
            while (enumerator.MoveNext())
            {
                Console.WriteLine(enumerator.Current);
            }





















        }
    }
}
